/*=====================================================================================================================
 * 
 * Repository path:     $HeadURL: http://gpstrk.googlecode.com/svn/trunk/src/hd44780.h $
 * Last committed:      $Revision: 51 $
 * Last changed by:     $Author: vladislav.gyurov@gmail.com $
 * Last changed date:   $Date: 2013-02-08 20:49:44 +0000 (Fri, 08 Feb 2013) $
 * ID:                  $Id: hd44780.h 51 2013-02-08 20:49:44Z vladislav.gyurov@gmail.com $
 *
 *===================================================================================================================*/
#ifndef __HD44780_H
#define __HD44780_H

/*=====================================================================================================================
 * Included files to resolve specific definitions in this file                
 *===================================================================================================================*/
#include "basedef.h"

/*=====================================================================================================================
 * Constant data                                                              
 *===================================================================================================================*/

/*=====================================================================================================================
 * Exported type                                                             
 *===================================================================================================================*/

/*=====================================================================================================================
 * Exported data                                                              
 *===================================================================================================================*/
extern FILE *LcdStream;

/*=====================================================================================================================
 * Constant exported data                                                     
 *===================================================================================================================*/

/*=====================================================================================================================
 * Exported Macros                                                            
 *===================================================================================================================*/
#define _HD44780_Init()             HD44780_Init()

#define _lcdprintf(x,y,fmt,...)                                                                                         \
do                                                                                                                      \
{                                                                                                                       \
    HD44780_GotoXY(x,y);                                                                                                \
    HD44780_Printf(fmt,__VA_ARGS__);                                                                                    \
}while(0)
/*=====================================================================================================================
 * Exported functions                     				                        
 *===================================================================================================================*/
extern void HD44780_Init(void);
extern void HD44780_GotoXY(U8 x, U8 y);
extern void HD44780_Printf(const char *format, ...);
extern void HD44780_Putc(U8 u8CharToLcd);

#endif /* __HD44780_H */
